package com.example.reserveseat.Object;

import lombok.Data;

import java.util.HashSet;
import java.util.List;
import java.util.stream.Collectors;

/**
 * 每个座位的信息
 */

@Data
public class SeatData {

    private String seat_no;

    /**
     * 座位id：跟座位号一致的
     */
    private String id;

    /**
     * 座位号
     */
    private String seat_id;

    /**
     * 组织id，不懂啥意思
     */
    private String org_id;

    /**
     * 区域id，123分别代表沉浸一区，二区，休闲区
     */
    private String area_id;

    /**
     * 座位名称
     */
    private String name;

    /**
     *
     */
    private int type;

    /**
     *
     */
    private int limit_person_quantity;

    /**
     * 不同时间段的详细信息
     */
    private List<Details> details;


    public boolean canMatchAll(List<String> timeList) {
        return new HashSet<>(details.stream().filter(Details::getIs_reservable).map(Details::getStart_datetime).collect(Collectors.toList())).containsAll(timeList);
    }

    public List<String> getCanReservableHours(){
       return details.stream().filter(Details::getIs_reservable).map(Details::getStart_datetime).collect(Collectors.toList());
    }


}